<?php

namespace Home\Controller;

use Think\Controller;

define('IMAGE_FILE_TYPE', 'gif|jpg|jpeg|png'); // 图片类型，上传图片时使用

define('SIZE_GOODS_IMAGE', '2097152');   // 商品大小限制2M
define('SIZE_STORE_LOGO', '20480');      // 店铺LOGO大小限制2OK
define('SIZE_STORE_BANNER', '1048576');  // 店铺BANNER大小限制1M
define('SIZE_STORE_CERT', '409600');     // 店铺证件执照大小限制400K
define('SIZE_STORE_PARTNER', '102400');  // 店铺合作伙伴图片大小限制100K
define('SIZE_CSV_TAOBAO', '2097152');     // 淘宝助理CSV大小限制2M

/* 店铺状态 */
define('STORE_APPLYING', 0); // 申请中
define('STORE_OPEN', 1); // 开启
define('STORE_CLOSED', 2); // 关闭

/* 积分类型 */
define('INTEGRAL_REG', 1);    // 注册赠送积分
define('INTEGRAL_LOGIN', 2);  // 登录赠送积分
define('INTEGRAL_RECOM', 3);  // 推荐赠送积分
define('INTEGRAL_BUY', 4);    // 购买赠送积分
define('INTEGRAL_SELLER', 5); // 抵扣删减积分
define('INTEGRAL_ADD', 6);    // 管理员增加积分
define('INTEGRAL_SUB', 7);    // 管理员减少积分
define('INTEGRAL_EGG', 8);    // 砸金蛋删减积分
define('INTEGRAL_GOODS', 9);  // 兑换礼品删减积分


/* 资金管理类型 */
define('ACCOUNT_TYPE_ADMIN', 10);    // 管理员手工操作
define('ACCOUNT_TYPE_BUY', 20);    // 购买商品
define('ACCOUNT_TYPE_SELLER', 30);    // 出售商品
define('ACCOUNT_TYPE_IN', 40);    // 账户转入
define('ACCOUNT_TYPE_OUT', 50);    // 账户转出
define('ACCOUNT_TYPE_CZ', 60);    // 账户充值
define('ACCOUNT_TYPE_TX', 70);    // 账户提现
define('ACCOUNT_TYPE_REFUND_IN', 80); // 账户退款收入,通常为买家退款成功 得到退款
define('ACCOUNT_TYPE_REFUND_OUT', 90); // 账户退款收入,通常为卖家退款成功 扣除退款
define('ACCOUNT_TYPE_TUIJIAN_BUYER', 100); // 用户推荐注册,注册者购买产品，推荐人会获得佣金，店铺会损失佣金。
define('ACCOUNT_TYPE_TUIJIAN_SELLER', 110); // 用户推荐注册,注册者成为店主，卖出产品推荐人会获得佣金，店主会损失佣金。
define('ACCOUNT_TYPE_TRADE_CHARGES', 120); // 交易成功扣除佣金

/* 价格类型 */
define('GOODS_TYPE_NORMAL', 1); #普通商品价格类型
define('GOODS_TYPE_GROUP', 2);  #团购商品价格类型
define('GOODS_TYPE_VIP', 3);    #会员价格类型
define('GOODS_TYPE_PRO', 4);    #促销格类型


/* 意见留言类型 */
define('CUSTOMER_MESSAGE_SUGGESTION', 1);    // 给网站留言
define('CUSTOMER_MESSAGE_STORE', 2);    // 投诉店铺
define('CUSTOMER_MESSAGE_GOODS', 3);    // 投诉商品


/* 订单状态 */
define('ORDER_SUBMITTED', 10);                 // 针对货到付款而言，他的下一个状态是卖家已发货
define('ORDER_PENDING', 11);                   // 等待买家付款
define('ORDER_ACCEPTED', 20);                  // 买家已付款，等待卖家发货
define('ORDER_SHIPPED', 30);                   // 卖家已发货
define('ORDER_FINISHED', 40);                  // 交易成功
define('ORDER_CANCELED', 0);                   // 交易已取消

//lichen 2019/5/5 start
/* 海关状态(总) */
define('CUSTOMS_SUCCESS', 1);                 // 海关成功
define('CUSTOMS_PROCESS', 2);                   // 海关校验处理中
define('CUSTOMS_FAILDED', 3);                  // 海关校验失败
/* 海关状态(分) */
define('CUSTOMS_SUB_PROCESS', 0);                   // 海关校验已提交
define('CUSTOMS_SUB_SUCCESS', 1);                  // 海关校验成功
define('IDENTITY_SUB_FAILDED', 2);                  // 身份校验失败
define('CUSTOMS_SUB_FAILDED', 3);                  // 海关校验失败
//lichen 2019/5/5 end
/* 特殊文章分类ID */
define('STORE_NAV', -1); // 店铺导航
define('ACATE_HELP', 1); // 商城帮助
define('ACATE_NOTICE', 2); // 商城快讯（公告）
define('ACATE_SYSTEM', 3); // 内置文章

/* 系统文章分类code字段 */
define('ACC_NOTICE', 'notice');                 //acategory表中code字段为notice时——商城公告类别
define('ACC_SYSTEM', 'system');                 //acategory表中code字段为system时——内置文章类别
define('ACC_HELP', 'help');                     //acategory表中code字段为help时——商城帮助类别

/* 邮件的优先级 */
define('MAIL_PRIORITY_LOW', 1);
define('MAIL_PRIORITY_MID', 2);
define('MAIL_PRIORITY_HIGH', 3);

/* 发送邮件的协议类型 */
define('MAIL_PROTOCOL_LOCAL', 0, true);
define('MAIL_PROTOCOL_SMTP', 1, true);

/* 数据调用的类型 */
define('TYPE_GOODS', 1);

/* 上传文件归属 */
define('BELONG_ARTICLE', 1);
define('BELONG_GOODS', 2);
define('BELONG_STORE', 3);
define('BELONG_COUPON', 4);
define('BELONG_GROUPBUY', 5);
define('BELONG_SPEC', 6);

/* 二级域名开关 */
!defined('ENABLED_SUBDOMAIN') && define('ENABLED_SUBDOMAIN', 0);

/* 短消息的标志 */
define('MSG_SYSTEM', 0); //系统消息

/* 团购活动状态 */
define('GROUP_PENDING', 0);            // 未发布
define('GROUP_ON', 1);            // 正在进行
define('GROUP_END', 2);            // 已结束
define('GROUP_FINISHED', 3);            // 已完成
define('GROUP_CANCELED', 4);            // 已取消

define('GROUP_CANCEL_INTERVAL', 5);     // 团购结束后自动取消的间隔天数

/* 通知类型 */
define('NOTICE_MAIL', 1); // 邮件通知
define('NOTICE_MSG', 2); // 站内短消息

class BaseController extends Controller {

    function _initialize() {
        //自动加入配置
        $mall_config_list = M('mall_config')->select();
        foreach ($mall_config_list as $key => $mall_config) {
            $setting[$mall_config['code']] = $mall_config['value'];
        }
        $setting['SITE_URL'] = 'http://'.$_SERVER['HTTP_HOST'].'/';
        C($setting);
    }
}

?>
